# nci webscript #
#### WARNING: This software is no longer maintained by me (nokoru). If you want to use nci, you should look at the new improved version of nci completely rewritten in python: [nci2](https://codeberg.org/nokoru/nci2)

#### This repository is here only for "legacy" purposes

nci is a webscript for Neocities written using the posix shell and python. It lets you easily post, delete and modify blog entries and update files from your Linux terminal. I created
this webscript to create and manage my [neocities blog](https://nokoru.neocities.org/), so nci is just a hobby project and might not be a very good program.
I just wanted to share the nci engine for fun and helping people, so adapt the scripts to your needs or just try it!

you want to install it? OK! just remember __I'm not responsible for any damages you do to your website caused by the misuse of nci__.

## How it works ##
nci works in a specific directory that contains the scripts of the nci system. Basically you ```cd your_neocities_website_directory``` and then you run nci
commands inside of it to update your website files or blog entries, if you've used git, the way it works is pretty similar.

## Installation ##
### Dependencies ###
Dependencies are python 3.x.x, curl, pip and the pip markdown module. Additionally, you need git to clone the nci repo, so install all the required packages before using nci. If you're
using __Debian, Ubuntu, Mint or any Debian-based distro__, then run:

1. ```sudo apt install python3 python3-pip curl git```
2. ```pip3 install markdown```

If you're using any other distro, then use your corresponding commands in order to install the nci dependencies.

### nci installation ###
1. Clone the nci repo ```git clone https://notabug.org/nokoru/nci.git```
2. Rename the nci directory if you want (i.e. "my_website") ```mv nci <your_website_directory>```
3. Select the directory ```cd <your_website_directory>```
4. Run ```./init``` to initialize the nci system.
5. Congrats! You can now create, modify and delete blog entries! See "how to use nci" for details

## How to use nci ##
### The basics ###
Once you [installed](#nci-installation) nci, you'll see your website directory has now two main folders: "public_html" and "entries". Those folders contain your blog data and website files.

- public_html: this is your __main website folder__, it contains your documents and files: html pages, images, rss feed, css styles, javascript, etc.
- entries: contains your "raw" blog entries, this directory is vital for the nci system!

Additionally, you'll find your website directory has a file named "nci.conf". Don't delete it! (actually, __don't delete anything that the ./init script generates__)

### How to post blog entries ###
1) Run ```./new```

2) Type a title for your entry.

3) Your preferred text editor (by default: GNU Nano) will be opened, it'll display a "form" that looks like this:

```
TITLE:<your_entry_title>
DATE:<today>
BODY:
<start writing your thoughts and feelings here>
```

4) Just write whatever you like BELOW the ```BODY:``` line, __don't type anything next to "BODY:"__.

5) You can use [markdown](https://en.wikipedia.org/wiki/Markdown) to format your article body if you want (nci will parse the markdown and then convert it into html)

6) If you add any image to your entry, you must move your image to the "public_html/" directory!

7) Once you finished your entry, just save the file and close your text editor (for GNU Nano: ctrl+s to save, ctrl+x to exit).

8) To add your created entry to your blog HTML and RSS, run ```./refresh```

### The ./refresh command ###
The ```./refresh``` command is really important, cause by using that command you can, well, "refresh"/rewrite your blog HTML and RSS files,
when you "refresh" your blog, you're applying changes like adding created entries, removing deleted ones and updating the content of the
entries you modified.

### Other commands ###
Run ```./help``` to see a list of useful commands like ```./del``` or ```./mod```.

###  Uploading my nci website/blog to Neocities (./push) ###
Run the ```./push``` command to upload your website files ("public_html/*").
__WARNING:__ If you already have a Neocities website, then download it (from your Neocities dashboard) and paste all the files inside the "public_html/" directory! ANY
file that is not found inside the public_html directory will be __deleted__!

## license and credits crap##
nci is licensed under the Unlicense license (basically public domain). Do whatever
you like with nci. You don't have to credit me or asking me for permission to do anything, just do what you want. Keep in mind that nci comes with no warranty.

## Contact ##
- e-mail: [nokoru@disroot.org](mailto:nokoru@disroot.org)
- xmpp: [nokoru@disroot.org](xmpp:nokoru@disroot.org)
- website: [https://nokoru.neocities.org/](https://nokoru.neocities.org/)
